﻿namespace Guru.Framework.Base
{
    internal interface IBaseBO
    {
        /// <summary>
        /// Returns Table Name Of IBaseBO object.
        /// </summary>
        /// <returns>Returns Table Name Of IBaseBO object.</returns>
        string GetTable();

        /// <summary>
        ///  Returns Identity Name Of IBaseBO object.
        /// </summary>
        /// <returns>Returns Identity Name Of IBaseBO object.</returns>
        string GetIdColumn();

        /// <summary>
        /// Returns Column Name list with property changed.
        /// </summary>
        /// <returns></returns>
        System.Collections.Generic.List<string> GetColumnChangeList();

        /// <summary>
        /// Adds column name to change list.
        /// </summary>
        /// <param name="column">Column name will be added to change list.</param>
        void AddChangeList(string column);
    }
}